package com.letao.server.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * 订单信息表对应类
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("order_info")
public class OrderInfo {
    /**
     * 自增主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 评论状态 0-未评论 1-用户已评论商家未回复 2-商家已回复
     */
    private Integer commentState;
    /**
     * 订单编号
     */
    private String orderNumber;
    /**
     * 用户id
     */
    private Long userId;
    /**
     * 收件人姓名
     */
    private String addresseeName;
    /**
     * 收件人手机号
     */
    private String addresseePhoneNumber;
    /**
     * 收件人性别
     */
    private Integer addresseeSex;
    /**
     * 省级编号
     */
    private Integer province;
    /**
     * 市级编号
     */
    private Integer city;
    /**
     * 区级编号
     */
    private Integer district;
    /**
     * 详细地址
     */
    private String detail;
    /**
     * 支付方式
     * 对应方式待定义
     */
    private Integer paymentMethod;
    /**
     * 订单金额
     */
    private Double orderMoney;
    /**
     * 订单状态
     * 0-已取消,1-已创建,2-已支付,3-已取货,4-已发货,5-已收货,6-已退货
     */
    private Integer orderStatus;
    /**
     * 取货方式
     * 0-快递，1-线下取货
     */
    private Integer deliveryMethod;
    /**
     * 快递单号
     */
    private String trackingNumber;
    /**
     * 店铺id
     */
    private Long shopId;
    /**
     * 快递发货时间/线下取货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime deliveryTime;
    /**
     * 快递取货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime receiptTime;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    /**
     * 最后修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime modifiedTime;

    private Integer isSeckill;
}
